﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using com.nm.Attributes;

namespace VerticaAPI.model
{
    public class DWSuppleAllMessageModel
    {
        public class CreatModel : ShowModel
        {
            [ParamDescription("公司")]
            public string CompanyID { get; set; }

            [ParamDescription("仓库")]
            public string StockID { get; set; }
            [ParamDescription("城市")]
            public string AreaName { get; set; }
            [ParamDescription("年份")]
            public long? YearNo { get; set; }
            [ParamDescription("季节")]
            public string SeasonName { get; set; }
            [ParamDescription("类别")]
            public string KindName { get; set; }

            [ParamDescription("近一周期初库存")]
            public long? WeekInitQty { get; set; }

            [ParamDescription("畅滞销补货系数")]
            public decimal? CZPSuppleRate { get; set; }

            [ParamDescription("读取时间")]
            public DateTime? LoadTime { get; set; }
            [ParamDescription("修改时间")]
            public DateTime? elt_date { get; set; }
        }

        public class NeceModel
        {
            [ParamDescription("库存日期")]
            public string StockDate { get; set; }
            [ParamDescription("发货仓名称")]
            public string FHStockName { get; set; }
            [ParamDescription("发货仓内码")]
            public string FHStockID { get; set; }
            [ParamDescription("店铺编号")]
            public string ShopCode { get; set; }
            [ParamDescription("店铺名称")]
            public string ShopName { get; set; }
            [ParamDescription("货号")]
            public string MaterialCode { get; set; }
            [ParamDescription("货品内码")]
            public string MaterialID { get; set; }
            [ParamDescription("货品简称")]
            public string MaterialShortName { get; set; }
            [ParamDescription("款型")]
            public string ModelName { get; set; }
            [ParamDescription("SKC畅滞销状态")]
            public string SKCCzpFlag { get; set; }
            [ParamDescription("补货间隔")]
            public long? ReplenishDay { get; set; }
            [ParamDescription("作业+物流天数")]
            public long? BTDays { get; set; }
            [ParamDescription("开始销售日期")]
            public string SaleBgDate { get; set; }
            [ParamDescription("结束销售日期")]
            public string SaleEnddate { get; set; }
            [ParamDescription("是否修改过")]
            public Boolean? isModify { get; set; }
            [ParamDescription("修改补货结果")]
            public long? UpdateSuppleQty { get; set; }
            [ParamDescription("在仓库存")]
            public long? EndQty { get; set; }
            [ParamDescription("在途库存")]
            public long? PathQty { get; set; }
            [ParamDescription("订单在途数量")]
            public long? OrderPathQty { get; set; }
            [ParamDescription("近一周日均销售")]
            public decimal? AvgWeekSaleQty { get; set; }
            [ParamDescription("尺码分类")]
            public string SizeTypeCode { get; set; }
            [ParamDescription("尺码内码")]
            public string SizeID { get; set; }
            [ParamDescription("尺码名称")]
            public string SizeName { get; set; }
            [ParamDescription("补货结果")]
            public long? RobSuppleQty { get; set; }


            //MaterialShortName,sam.RetailPrice,sam.SexName,sam.SizeLimit 货品简称 零售价   性别 中包装
            [ParamDescription("零售价")]
            public decimal? RetailPrice { get; set; }
            [ParamDescription("性别")]
            public string SexName { get; set; }
            [ParamDescription("中包装")]
            public Int64? SizeLimit { get; set; }


        }

        public class ShowModel : NeceModel
        {
            [ParamDescription("累计销售")]
            public long? TotalSaleQty { get; set; }
            [ParamDescription("累计调入")]
            public long? TotalMoveQty { get; set; }
            [ParamDescription("近一周销售")]
            public long? WeekSaleQty { get; set; }
            [ParamDescription("近一周调入")]
            public long? WeekMoveQty { get; set; }
            [ParamDescription("上市日期")]
            public string FirstArriveDate { get; set; }
            [ParamDescription("上市天数")]
            public long? SaleDays { get; set; }
            [ParamDescription("日均售罄率")]
            public decimal? CalcSaleRate { get; set; }
            [ParamDescription("SKU畅滞销状态")]
            public string CZPFlag { get; set; }
            [ParamDescription("区间累计补货系数")]
            public decimal? PeriodSuppleRate { get; set; }
            [ParamDescription("是否核心码")]
            public long? SizeCoreFlag { get; set; }
            [ParamDescription("陈列量")]
            public long? DisPlayQty { get; set; }
            [ParamDescription("理想水位")]
            public long? HopeQty { get; set; }
            [ParamDescription("目标水位")]
            public long? ResultQty { get; set; }
            [ParamDescription("补货需求")]
            public long? SuppleQty { get; set; }
            [ParamDescription("两周内是否有调出")]
            public long? MoveOutFlag { get; set; }

            [ParamDescription("有效天数")]
            public Int64? Validdays { get; set; }
            [ParamDescription("近七天有效日销售量")]
            public Int64? ValidWeekSaleQty { get; set; }
            [ParamDescription("日均销量")]
            public decimal? ValidWeekAvg { get; set; }

        }

        public class FinalModel : ShowModel
        {
            [ParamDescription("可用库存")]
            public long? CanUseQty { get; set; }
            [ParamDescription("生命周期内调入数量")]
            public long? lifeTotalSaleQty { get; set; }
            [ParamDescription("生命周期内销售数量")]
            public long? lifeTotalMoveQty { get; set; }
        }

        public class ListModel
        {
            [ParamDescription("库存日期")]
            public string StockDate { get; set; }
            [ParamDescription("发货仓名称")]
            public string FHStockName { get; set; }
            [ParamDescription("发货仓内码")]
            public string FHStockID { get; set; }
            [ParamDescription("店铺编号")]
            public string ShopCode { get; set; }
            [ParamDescription("店铺名称")]
            public string ShopName { get; set; }
            [ParamDescription("货号")]
            public string MaterialCode { get; set; }
            [ParamDescription("货品内码")]
            public string MaterialID { get; set; }
            [ParamDescription("货品简称")]
            public string MaterialShortName { get; set; }
            [ParamDescription("款型")]
            public string ModelName { get; set; }
            [ParamDescription("SKC畅滞销状态")]
            public string SKCCzpFlag { get; set; }
            [ParamDescription("补货间隔")]
            public long? ReplenishDay { get; set; }
            [ParamDescription("作业+物流天数")]
            public long? BTDays { get; set; }
            [ParamDescription("开始销售日期")]
            public string SaleBgDate { get; set; }
            [ParamDescription("结束销售日期")]
            public string SaleEnddate { get; set; }
            [ParamDescription("是否修改过")]
            public Boolean? isModify { get; set; }
            [ParamDescription("尺码分类")]
            public string SizeTypeCode { get; set; }

            public long? UpdateSuppleQty_00000001_S { get; set; }
            public long? UpdateSuppleQty_00000002_M { get; set; }
            public long? UpdateSuppleQty_00000003_L { get; set; }
            public long? UpdateSuppleQty_00000004_XL { get; set; }
            public long? UpdateSuppleQty_00000008_XXL { get; set; }
            public long? UpdateSuppleQty_00000006_3XL { get; set; }
            public long? UpdateSuppleQty_00000007_4XL { get; set; }
            public long? UpdateSuppleQty_00000009_JM { get; set; }
            public long? UpdateSuppleQty_00000027_27 { get; set; }
            public long? UpdateSuppleQty_00000010_28 { get; set; }
            public long? UpdateSuppleQty_00000011_29 { get; set; }
            public long? UpdateSuppleQty_00000012_30 { get; set; }
            public long? UpdateSuppleQty_00000013_31 { get; set; }
            public long? UpdateSuppleQty_00000014_32 { get; set; }
            public long? UpdateSuppleQty_00000015_33 { get; set; }
            public long? UpdateSuppleQty_00000016_34 { get; set; }
            public long? UpdateSuppleQty_00000017_36 { get; set; }
            public long? UpdateSuppleQty_00000019_37 { get; set; }
            public long? UpdateSuppleQty_00000018_38 { get; set; }
            public long? UpdateSuppleQty_00000020_39 { get; set; }
            public long? UpdateSuppleQty_00000021_40 { get; set; }
            public long? UpdateSuppleQty_00000022_41 { get; set; }
            public long? UpdateSuppleQty_00000023_42 { get; set; }
            public long? UpdateSuppleQty_00000024_43 { get; set; }
            public long? UpdateSuppleQty_00000025_44 { get; set; }
            public long? UpdateSuppleQty_00000026_45 { get; set; }

            public long? EndQty_00000001_S { get; set; }
            public long? EndQty_00000002_M { get; set; }
            public long? EndQty_00000003_L { get; set; }
            public long? EndQty_00000004_XL { get; set; }
            public long? EndQty_00000008_XXL { get; set; }
            public long? EndQty_00000006_3XL { get; set; }
            public long? EndQty_00000007_4XL { get; set; }
            public long? EndQty_00000009_JM { get; set; }
            public long? EndQty_00000027_27 { get; set; }
            public long? EndQty_00000010_28 { get; set; }
            public long? EndQty_00000011_29 { get; set; }
            public long? EndQty_00000012_30 { get; set; }
            public long? EndQty_00000013_31 { get; set; }
            public long? EndQty_00000014_32 { get; set; }
            public long? EndQty_00000015_33 { get; set; }
            public long? EndQty_00000016_34 { get; set; }
            public long? EndQty_00000017_36 { get; set; }
            public long? EndQty_00000019_37 { get; set; }
            public long? EndQty_00000018_38 { get; set; }
            public long? EndQty_00000020_39 { get; set; }
            public long? EndQty_00000021_40 { get; set; }
            public long? EndQty_00000022_41 { get; set; }
            public long? EndQty_00000023_42 { get; set; }
            public long? EndQty_00000024_43 { get; set; }
            public long? EndQty_00000025_44 { get; set; }
            public long? EndQty_00000026_45 { get; set; }


            public long? PathQty_00000001_S { get; set; }
            public long? PathQty_00000002_M { get; set; }
            public long? PathQty_00000003_L { get; set; }
            public long? PathQty_00000004_XL { get; set; }
            public long? PathQty_00000008_XXL { get; set; }
            public long? PathQty_00000006_3XL { get; set; }
            public long? PathQty_00000007_4XL { get; set; }
            public long? PathQty_00000009_JM { get; set; }
            public long? PathQty_00000027_27 { get; set; }
            public long? PathQty_00000010_28 { get; set; }
            public long? PathQty_00000011_29 { get; set; }
            public long? PathQty_00000012_30 { get; set; }
            public long? PathQty_00000013_31 { get; set; }
            public long? PathQty_00000014_32 { get; set; }
            public long? PathQty_00000015_33 { get; set; }
            public long? PathQty_00000016_34 { get; set; }
            public long? PathQty_00000017_36 { get; set; }
            public long? PathQty_00000019_37 { get; set; }
            public long? PathQty_00000018_38 { get; set; }
            public long? PathQty_00000020_39 { get; set; }
            public long? PathQty_00000021_40 { get; set; }
            public long? PathQty_00000022_41 { get; set; }
            public long? PathQty_00000023_42 { get; set; }
            public long? PathQty_00000024_43 { get; set; }
            public long? PathQty_00000025_44 { get; set; }
            public long? PathQty_00000026_45 { get; set; }

            public long? OrderPathQty_00000001_S { get; set; }
            public long? OrderPathQty_00000002_M { get; set; }
            public long? OrderPathQty_00000003_L { get; set; }
            public long? OrderPathQty_00000004_XL { get; set; }
            public long? OrderPathQty_00000008_XXL { get; set; }
            public long? OrderPathQty_00000006_3XL { get; set; }
            public long? OrderPathQty_00000007_4XL { get; set; }
            public long? OrderPathQty_00000009_JM { get; set; }
            public long? OrderPathQty_00000027_27 { get; set; }
            public long? OrderPathQty_00000010_28 { get; set; }
            public long? OrderPathQty_00000011_29 { get; set; }
            public long? OrderPathQty_00000012_30 { get; set; }
            public long? OrderPathQty_00000013_31 { get; set; }
            public long? OrderPathQty_00000014_32 { get; set; }
            public long? OrderPathQty_00000015_33 { get; set; }
            public long? OrderPathQty_00000016_34 { get; set; }
            public long? OrderPathQty_00000017_36 { get; set; }
            public long? OrderPathQty_00000019_37 { get; set; }
            public long? OrderPathQty_00000018_38 { get; set; }
            public long? OrderPathQty_00000020_39 { get; set; }
            public long? OrderPathQty_00000021_40 { get; set; }
            public long? OrderPathQty_00000022_41 { get; set; }
            public long? OrderPathQty_00000023_42 { get; set; }
            public long? OrderPathQty_00000024_43 { get; set; }
            public long? OrderPathQty_00000025_44 { get; set; }
            public long? OrderPathQty_00000026_45 { get; set; }

            public decimal? AvgWeekSaleQty_00000001_S { get; set; }
            public decimal? AvgWeekSaleQty_00000002_M { get; set; }
            public decimal? AvgWeekSaleQty_00000003_L { get; set; }
            public decimal? AvgWeekSaleQty_00000004_XL { get; set; }
            public decimal? AvgWeekSaleQty_00000008_XXL { get; set; }
            public decimal? AvgWeekSaleQty_00000006_3XL { get; set; }
            public decimal? AvgWeekSaleQty_00000007_4XL { get; set; }
            public decimal? AvgWeekSaleQty_00000009_JM { get; set; }
            public decimal? AvgWeekSaleQty_00000027_27 { get; set; }
            public decimal? AvgWeekSaleQty_00000010_28 { get; set; }
            public decimal? AvgWeekSaleQty_00000011_29 { get; set; }
            public decimal? AvgWeekSaleQty_00000012_30 { get; set; }
            public decimal? AvgWeekSaleQty_00000013_31 { get; set; }
            public decimal? AvgWeekSaleQty_00000014_32 { get; set; }
            public decimal? AvgWeekSaleQty_00000015_33 { get; set; }
            public decimal? AvgWeekSaleQty_00000016_34 { get; set; }
            public decimal? AvgWeekSaleQty_00000017_36 { get; set; }
            public decimal? AvgWeekSaleQty_00000019_37 { get; set; }
            public decimal? AvgWeekSaleQty_00000018_38 { get; set; }
            public decimal? AvgWeekSaleQty_00000020_39 { get; set; }
            public decimal? AvgWeekSaleQty_00000021_40 { get; set; }
            public decimal? AvgWeekSaleQty_00000022_41 { get; set; }
            public decimal? AvgWeekSaleQty_00000023_42 { get; set; }
            public decimal? AvgWeekSaleQty_00000024_43 { get; set; }
            public decimal? AvgWeekSaleQty_00000025_44 { get; set; }
            public decimal? AvgWeekSaleQty_00000026_45 { get; set; }
        }

        public class ModifyModel : NeceModel
        {
            [ParamDescription("补货列表")]
            public IList<ShowModel> list { get; set; }
        }

        public class ChartModel
        {
            [ParamDescription("补货数量")]
            public long SuppleQtySum { get; set; }

            [ParamDescription("店铺名")]
            public string ShopName { get; set; }
        }

        public class DownLoadModel
        {
            [ParamDescription("发货仓内码")]
            public string FHStockID { get; set; }
            [ParamDescription("店铺编号")]
            public string ShopCode { get; set; }
            [ParamDescription("货品内码")]
            public string MaterialID { get; set; }
        }
    }

    public class DWFHStockCanUseModel
    {
        public class CreatModel : NeceModel
        {
            [ParamDescription("读取时间")]
            public DateTime? LoadTime { get; set; }

            [ParamDescription("修改时间")]
            public DateTime? elt_date { get; set; }
        }

        public class NeceModel
        {
            [ParamDescription("库存日期")]
            public string Stockdate { get; set; }

            [ParamDescription("发货仓内码")]
            public string FHStockID { get; set; }

            [ParamDescription("货品ID")]
            public string MaterialID { get; set; }

            [ParamDescription("尺码内码")]
            public string SizeID { get; set; }

            [ParamDescription("可用库存")]
            public long? CanUseQty { get; set; }
        }

        public class ListModel : NeceModel
        {
            [ParamDescription("尺码")]
            public string SizeName { get; set; }
            [ParamDescription("补货占用量")]
            public long? Taken { get; set; }

        }
        public class ListSizeModel
        {
            [ParamDescription("尺码")]
            public string SizeName { get; set; }
            public string SizeTypeCode { get; set; }
        }


    }

    public class OdsErpSDMatKind
    {
        public class NeceModel
        {
            [ParamDescription("类别ID")]
            public string KindID { get; set; }
            [ParamDescription("类别名称")]
            public string KindName { get; set; }
        }
    }

    public class OdsErpSDMatModel
    {
        public class NeceModel
        {
            [ParamDescription("款型ID")]
            public string ModelID { get; set; }
            [ParamDescription("款型名称")]
            public string ModelName { get; set; }
        }
    }

    public class VerticaColumns
    {
        [ParamDescription("列名")]
        public string ColumnName { get; set; }
    }



    public class NodsErpSdMatItem
    {
        [ParamDescription("编号")]
        public string ItemID { get; set; }
        [ParamDescription("货品名")]
        public string ItemName { get; set; }
    }

    public class NodsErpSdMatMaterial2
    {
        [ParamDescription("子项目")]
        public string SubItem { get; set; }
    }
    public class NodsErpSdMatSex
    {
        [ParamDescription("性别编号")]
        public string SexID { get; set; }
        [ParamDescription("性别编码")]
        public string SexCode { get; set; }
        [ParamDescription("性别名称")]
        public string SexName { get; set; }
    }

}
